home *** CD-ROM | disk | FTP | other *** search
/ The 640 MEG Shareware Studio 4 / The 640 Meg Shareware Studio CD-ROM Volume IV (Data Express)(1994).ISO / clang / lz13.zip / MACROS1.MLB < prev    next >
Text File  |  1993-05-01  |  7KB  |  581 lines

  1.     .xlist
  2. getchr    macro
  3.     mov    ah,1
  4.     int    21h
  5.     endm
  6.  
  7. putchr    macro    chr
  8.     ifdif    <dl>,<chr>
  9.     mov    dl,chr
  10.     endif
  11.     mov    ah,2
  12.     int    21h
  13.     endm
  14.  
  15. getaux    macro
  16.     mov    ah,3
  17.     int    21h
  18.     endm
  19.  
  20. putaux    macro    chr
  21.     ifdif    <dl>,<chr>
  22.     mov    dl,chr
  23.     endif
  24.     mov    ah,4
  25.     int    21h
  26.     endm
  27.  
  28. putprn    macro    chr
  29.     ifdif    <dl>,<chr>
  30.     mov    dl,chr
  31.     endif
  32.     mov    ah,5
  33.     int    21h
  34.     endm
  35.  
  36. dcio    macro    char
  37.     ifnb    <char>
  38.     mov    dl,0ffh
  39.     else
  40.     ifdif    <dl>,<char>
  41.     mov    dl,char
  42.     endif
  43.     endif
  44.     mov    ah,6h
  45.     int    21h
  46.     endm
  47.  
  48. dcinne    macro
  49.     mov    ah,7h
  50.     int    21h
  51.     endm
  52.  
  53. noecho    macro    func
  54.     ifnb    <func>
  55.     ifdif    <al>,<func>
  56.     mov    al,func
  57.     endif
  58.     else
  59.     mov    al,0
  60.     endif
  61.     mov    ah,8h
  62.     int    21h
  63.     endm
  64.  
  65. print    macro    str
  66.     lea    dx,str
  67.     mov    ah,9h
  68.     int    21h
  69.     endm
  70.  
  71. input    macro    buf
  72.     lea    dx,buf
  73.     mov    ah,0ah
  74.     int    21h
  75.     endm
  76.  
  77. dskrst    macro
  78.     mov    ah,0dh
  79.     int    21h
  80.     endm
  81.  
  82. seldsk    macro    drv
  83.     ifdif    <dl>,<drv>
  84.     mov    dl,drv
  85.     endif
  86.     mov    ah,0eh
  87.     int    21h
  88.     endm
  89.  
  90. open    macro    fcb
  91.     lea    dx,fcb
  92.     mov    ah,0fh
  93.     int    21h
  94.     endm
  95.  
  96. close    macro    fcb
  97. ;    lea    dx,fcb
  98.     mov    dx,offset fcb
  99.     mov    ah,10h
  100.     int    21h
  101.     endm
  102.  
  103. sfirst    macro    fcb
  104. ;    lea    dx,fcb
  105.     mov    dx,offset fcb
  106.     mov    ah,11h
  107.     int    21h
  108.     endm
  109.  
  110. snext    macro    fcb
  111. ;    lea    dx,fcb
  112.     mov    dx,offset fcb
  113.     mov    ah,12h
  114.     int    21h
  115.     endm
  116.  
  117. delete    macro    fcb
  118. ;    lea    dx,fcb
  119.     mov    dx,offset fcb
  120.     mov    ah,13h
  121.     int    21h
  122.     endm
  123.  
  124. seqrd    macro    fcb
  125. ;    lea    dx,fcb
  126.     mov    dx,offset fcb
  127.     mov    ah,14h
  128.     int    21h
  129.     endm
  130.  
  131. seqwrt    macro    fcb
  132. ;    lea    dx,fcb
  133.     mov    dx,offset fcb
  134.     mov    ah,15h
  135.     int    21h
  136.     endm
  137.  
  138. create    macro    fcb
  139. ;    lea    dx,fcb
  140.     mov    dx,offset fcb
  141.     mov    ah,16h
  142.     int    21h
  143.     endm
  144.  
  145. rename    macro    fcb
  146. ;    lea    dx,fcb
  147.     mov    dx,offset fcb
  148.     mov    ah,17h
  149.     int    21h
  150.     endm
  151.  
  152. getdrv    macro
  153.     mov    ah,19h
  154.     int    21h
  155.     endm
  156.  
  157. setdta    macro    buf
  158. ;    lea    dx,buf
  159.     mov    dx,offset buf
  160.     mov    ah,1ah
  161.     int    21h
  162.     endm
  163.  
  164. rndrd    macro    fcb
  165. ;    lea    dx,fcb
  166.     mov    dx,offset fcb
  167.     mov    ah,21h
  168.     int    21h
  169.     endm
  170.  
  171. rndwrt    macro    fcb
  172. ;    lea    dx,fcb
  173.     mov    dx,offset fcb
  174.     mov    ah,22h
  175.     int    21h
  176.     endm
  177.  
  178. getsiz    macro    fcb
  179. ;    lea    dx,fcb
  180.     mov    dx,offset fcb
  181.     mov    ah,23h
  182.     int    21h
  183.     endm
  184.  
  185. setrel    macro    fcb
  186. ;    lea    dx,fcb
  187.     mov    dx,offset fcb
  188.     mov    ah,24h
  189.     int    21h
  190.     endm
  191.  
  192. setvec    macro    int,addr
  193. ;    lea    dx,addr
  194.     mov    dx,offset addr
  195. ;    mov    al,int
  196. ;    mov    ah,25h
  197.     mov    ax,2500H+addr
  198.     int    21h
  199.     endm
  200.  
  201. rndbrd    macro    fcb,siz
  202. ;    lea    dx,fcb
  203.     mov    dx,offset fcb
  204.     ifdif    <cx>,<siz>
  205.     mov    cx,siz
  206.     endif
  207.     mov    ah,27h
  208.     int    21h
  209.     endm
  210.  
  211. rndbwr    macro    fcb,siz
  212. ;    lea    dx,fcb
  213.     mov    dx,offset fcb
  214.     ifdif    <cx>,<siz>
  215.     mov    cx,siz
  216.     endif
  217.     mov    ah,28h
  218.     int    21h
  219.     endm
  220.  
  221. parse    macro    string,fcb,flag
  222.     ifdif    <[si]>,<string>
  223. ;    lea    si,string
  224.     mov    si,offset string
  225.     endif
  226.     ifdif    <[di]>,<fcb>
  227. ;    lea    di,fcb
  228.     mov    di,offset fcb
  229.     endif
  230.     ifdif    <al>,<flag>
  231.     mov    al,flag
  232.     endif
  233.     mov    ah,29h
  234.     int    21h
  235.     endm
  236.  
  237. getdat    macro    year,month,day
  238.     mov    ah,2ah
  239.     int    21h
  240.     mov    year,cx
  241.     mov    month,dh
  242.     mov    day,dl
  243.     endm
  244.  
  245. setdat    macro    year,month,day
  246.     mov    cx,year
  247.     mov    dh,month
  248.     mov    dl,day
  249.     mov    ah,2bh
  250.     int    21h
  251.     endm
  252.  
  253. gettim    macro    hour,minute,second
  254.     mov    ah,2ch
  255.     int    21h
  256.     mov    hour,ch
  257.     mov    minute,cl
  258.     mov    second,dh
  259.     endm
  260.  
  261. settim    macro    hour,minute,second
  262.     mov    ch,hour
  263.     mov    cl,minute
  264.     mov    dh,second
  265. ;    mov    dl,0
  266.     xor    dl,dl
  267.     mov    ah,2dh
  268.     int    21h
  269.     endm
  270.  
  271. wrtver    macro    onoff
  272.     ifdif    <al>,<onoff>
  273.     mov    al,onoff
  274.     endif
  275.     mov    ah,2eh
  276.     int    21h
  277.     endm
  278.  
  279. getdta    macro    buf
  280.     push    bx
  281.     push    es
  282.     mov    ah,2fh
  283.     int    21h
  284.     mov    word ptr buf,bx
  285.     mov    word ptr buf+2,es
  286.     pop    es
  287.     pop    bx
  288.     endm
  289.  
  290. dosver    macro
  291.     mov    ah,30h
  292.     int    21h
  293.     endm
  294.  
  295. break    macro    onoff
  296.     ifnb    <onoff>
  297.     ifdif    <dl>,<onoff>
  298.     mov    dl,onoff
  299.     endif
  300. ;    mov    al,1
  301.     mov    ax,3301H
  302.     else
  303. ;    mov    al,0
  304.     mov    ax,3300H
  305.     endif
  306. ;    mov    ah,33h
  307.     int    21h
  308.     endm
  309.  
  310. getvec    macro    int
  311. ;    mov    al,int
  312. ;    mov    ah,35h
  313.     mov    ax,3500H+int
  314.     int    21h
  315.     endm
  316.  
  317. free    macro    drv
  318.     ifnb    <drv>
  319.     ifdif    <dl>,<drv>
  320.     mov    dl,drv
  321.     endif
  322.     else
  323. ;    mov    dl,0
  324.     xor    dl,dl
  325.     endif
  326.     mov    ah,36h
  327.     int    21h
  328.     endm
  329.  
  330. credir    macro    path
  331. ;    lea    dx,path
  332.     mov    dx,offset path
  333.     mov    ah,39h
  334.     int    21h
  335.     endm
  336.  
  337. remdir    macro    path
  338. ;    lea    dx,path
  339.     mov    dx,offset path
  340.     mov    ah,3ah
  341.     int    21h
  342.     endm
  343.  
  344. setdef    macro    path
  345. ;    lea    dx,path
  346.     mov    dx,offset path
  347.     mov    ah,3bh
  348.     int    21h
  349.     endm
  350.  
  351. hcreat    macro    path,attrib
  352. ;    lea    dx,path
  353.     mov    dx,offset path
  354.     ifdif    <cx>,<attrib>
  355.     mov    cx,attrib
  356.     endif
  357.     mov    ah,3ch
  358.     int    21h
  359.     endm
  360.  
  361. hopen    macro    path,mode
  362. ;    lea    dx,path
  363.     mov    dx,offset path
  364.     ifdif    <al>,<mode>
  365.     mov    al,mode
  366.     endif
  367.     mov    ah,3dh
  368.     int    21h
  369.     endm
  370.  
  371. hclose    macro    handle
  372.     ifdif    <bx>,<handle>
  373.     mov    bx,handle
  374.     endif
  375.     mov    ah,3eh
  376.     int    21h
  377.     endm
  378.  
  379. hread    macro    handle,buf,siz
  380.     ifdif    <bx>,<handle>
  381.     mov    bx,handle
  382.     endif
  383.     lea    dx,buf
  384. ;    mov    dx,offset buf
  385.     ifdif    <cx>,<siz>
  386.     mov    cx,siz
  387.     endif
  388.     mov    ah,3fh
  389.     int    21h
  390.     endm
  391.  
  392. hwrite    macro    handle,buf,siz
  393.     ifdif    <bx>,<handle>
  394.     mov    bx,handle
  395.     endif
  396. ;    lea    dx,buf
  397.     mov    dx,offset buf
  398.     ifdif    <cx>,<siz>
  399.     mov    cx,siz
  400.     endif
  401.     mov    ah,40h
  402.     int    21h
  403.     endm
  404.  
  405. deletp    macro    path
  406. ;    lea    dx,path
  407.     mov    dx,offset path
  408.     mov    ah,41h
  409.     int    21h
  410.     endm
  411.  
  412. movptr    macro    handle,dist,method
  413.     ifdif    <bx>,<handle>
  414.     mov    bx,handle
  415.     endif
  416.     mov    dx,dist
  417.     mov    cx,dist+2
  418. ;    mov    al,method
  419. ;    mov    ah,42h
  420.     mov    ax,4200H+method
  421.     int    21h
  422.     endm
  423.  
  424. setatr    macro    path,attrib
  425. ;    lea    dx,path
  426.     mov    dx,offset path
  427.     ifnb    <attrib>
  428.     ifdif    <cx>,<attrib>
  429.     mov    cx,attrib
  430.     endif
  431. ;    mov    al,1
  432.     mov    ax,4301H
  433.     else
  434. ;    mov    al,0
  435.     mov    ax,4300H
  436.     endif
  437. ;    mov    ah,43h
  438.     int    21h
  439.     endm
  440.  
  441. getdef    macro    path,drv
  442.     ifdif    <[si]>,<path>
  443. ;    lea    si,path
  444.     mov    si,offset path
  445.     endif
  446.     ifdif    <dl>,<drv>
  447.     mov    dl,drv
  448.     endif
  449.     mov    ah,47h
  450.     int    21h
  451.     endm
  452.  
  453. malloc    macro    siz
  454.     ifdif    <bx>,<siz>
  455.     mov    bx,siz
  456.     endif
  457.     mov    ah,48h
  458.     int    21h
  459.     endm
  460.  
  461. fremem    macro    segm
  462.     ifnb    <segm>
  463.     mov    es,segm
  464.     endif
  465.     mov    ah,49h
  466.     int    21h
  467.     endm
  468.  
  469. setmem    macro    siz,segm
  470.     ifnb    <segm>
  471.     mov    es,segm
  472.     endif
  473.     ifdif    <bx>,<siz>
  474.     mov    bx,siz
  475.     endif
  476.     mov    ah,4ah
  477.     int    21h
  478.     endm
  479.  
  480. exec    macro    path,param,func
  481.     ifnb    <func>
  482. ;    mov    al,func
  483. ;    mov    ah,4bh
  484.     mov    ax,4B00H+func
  485.     else
  486.     mov    ax,4b00h
  487.     endif
  488.     mov    dx,path
  489.     mov    bx,param
  490.     int    21h
  491.     endm
  492.  
  493. exit    macro
  494.     mov    ax,4c00h
  495. ;    mov    dx,0
  496.     xor    dx,dx
  497.     int    21h
  498.     endm
  499.  
  500. ffirst    macro    path,attrib
  501. ;    lea    dx,path
  502.     mov    dx,offset path
  503.     ifdif    <cx>,<attrib>
  504.     mov    cx,attrib
  505.     endif
  506.     mov    ah,4eh
  507.     int    21h
  508.     endm
  509.  
  510. fnext    macro
  511.     mov    ah,4fh
  512.     int    21h
  513.     endm
  514.  
  515. renamp    macro    old,new
  516. ;    lea    dx,old
  517. ;    lea    di,new
  518.     mov    dx,offset old
  519.     mov    di,offset new
  520.     mov    ah,56h
  521.     int    21h
  522.     endm
  523.  
  524. tmstmp    macro    handle,date,time
  525.     ifdif    <bx>,<handle>
  526.     mov    bx,handle
  527.     endif
  528.     ifnb    <date>
  529.     ifdif    <dx>,<date>
  530.     mov    dx,date
  531.     endif
  532.     ifdif    <cx>,<time>
  533.     mov    cx,time
  534.     endif
  535. ;    mov    al,1
  536.     mov    ax,5701H
  537.     else
  538. ;    mov    al,0
  539.     mov    ax,5700H
  540.     endif
  541. ;    mov    ah,57h
  542.     int    21h
  543.     endm
  544.  
  545. filtim    record    fil_hour:5,fil_minute:6,fil_second:5
  546. fildat    record    fil_year:7,fil_month:4,fil_day:5
  547.  
  548. fcb    struc
  549. fcb_drive    db    ?
  550. fcb_fname    db    '        '
  551. fcb_ftype    db    '   '
  552. fcb_curblk    dw    ?
  553. fcb_recsiz    dw    ?
  554. fcb_filsiz    dd    ?
  555. fcb_upddat    dw    ?
  556. fcb_resrvd    db    10 dup (?)
  557. fcb_currec    db    ?
  558. fcb_relrec    dd    ?
  559. fcb    ends
  560.  
  561. srcbuf    struc
  562. src_drive    db    ?
  563. src_fname    db    8 dup (?)
  564. src_ftype    db    3 dup (?)
  565. src_resrvd    db    10 dup (?)
  566. src_updtim    dw    ?
  567. src_upddat    dw    ?
  568. src_clust1    dw    ?
  569. src_filsiz    dd    ?
  570. srcbuf    ends
  571.  
  572. fndbuf    struc
  573. fnd_resrvd    db    21 dup (?)
  574. fnd_attrib    db    ?
  575. fnd_updtim    dw    ?
  576. fnd_upddat    dw    ?
  577. fnd_filsiz    dd    ?
  578. fnd_filnam    db    13 dup (?)
  579. fndbuf    ends
  580.     .list
  581.